package com.hoshiicloud.market.entity.market;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author yangcheng
 * @version 1.0
 * @title: Banner
 * @description: banner图片表实体
 * @date 2019/8/6 15:03
 * @mail maiboyc@163.com
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Banner implements Serializable {

    private static final long serialVersionUID = 3835050176663922483L;

    /**
     * ID
     */
    @NotNull(message = "主键ID不能为空")
    @ApiModelProperty(name = "id", value = "ID", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private Long id;

    /**
     * 租户ID
     */
    @NotNull(message = "租户ID不能为空")
    @ApiModelProperty(name = "companyId", value = "租户ID", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private Long companyId;

    /**
     * 平台ID
     */
    @NotNull(message = "平台ID不能为空")
    @ApiModelProperty(name = "platformId", value = "平台ID", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private Long platformId;

    /**
     * 店铺ID
     */
    @NotNull(message = "店铺ID不能为空")
    @ApiModelProperty(name = "storeId", value = "店铺ID", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private Long storeId;

    /**
     * banner图片名称
     */
    @NotNull(message = "banner图片名称不能为空")
    @ApiModelProperty(name = "name", value = "banner图片名称", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private String name;

    /**
     * banner图片地址
     */
    @NotNull(message = "banner图片地址不能为空")
    @ApiModelProperty(name = "url", value = "banner图片地址", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private String url;

    /**
     * 创建人
     */
    @NotNull(message = "创建人不能为空")
    @ApiModelProperty(name = "createdBy", value = "创建人", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private String createdBy;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空")
    @ApiModelProperty(name = "createdTime", value = "创建时间", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private LocalDateTime createdTime;

    /**
     * 修改人
     */
    @ApiModelProperty(name = "updatedBy", value = "修改人", dataType = "java.lang.Long", example = "3171776001692664000")
    private String updatedBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(name = "updatedTime", value = "修改时间", dataType = "java.lang.Long", example = "3171776001692664000")
    private LocalDateTime updatedTime;

    /**
     * 删除状态：0-未删除 1-已删除
     */
    @NotNull(message = "主键ID不能为空")
    @ApiModelProperty(name = "deleted", value = "删除状态：0-未删除 1-已删除", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private Integer deleted;

    /**
     * 当前页 默认1
     */
    @ApiModelProperty(name = "pageIndex", value = "当前页码", dataType = "java.lang.Long", hidden = true)
    @TableField(exist = false)
    private Long pageNumber = 1L;

    /**
     * 每页大小 默认10
     */
    @ApiModelProperty(name = "pageSize", value = "每页大小", dataType = "java.lang.Long", hidden = true)
    @TableField(exist = false)
    private Long pageSize = 10L;

}
